{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## RUL prediction using boosting\n",
    "\n",
    "In this notebook, we will apply boosting to predict RUL of NASA's turbofan engine dataset FD001. To implement boosting, we will use [XGBoost](https://xgboost.readthedocs.io/en/latest/index.html) library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xgboost as xgb\n",
    "\n",
    "from sklearn.metrics import mean_squared_error\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "np.random.seed(324)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Numpy version:  1.18.5\n",
      "Pandas version:  1.0.5\n",
      "XGBoost version:  1.2.0\n"
     ]
    }
   ],
   "source": [
    "print(\"Numpy version: \", np.__version__)\n",
    "print(\"Pandas version: \", pd.__version__)\n",
    "print(\"XGBoost version: \", xgb.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data Preprocessing\n",
    "\n",
    "We strongly encourage readers to go through the [dataset description and prreprocessing notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_data_description_and_preprocessing.ipynb). In that notebook we have explained how data preprocessing functions work with simple examples. In this notebook we will only use those functions. So prior familiarity with these functions is an advantage. Below are the parameters that we will use for data preprocessing:\n",
    "\n",
    "* Degradation model: Linear\n",
    "* Early RUL: None\n",
    "* Window length: 1\n",
    "* Shift: 1\n",
    "* Data scaling: No (Tree based methods don't require data scaling)\n",
    "\n",
    "We will calculate two prediction scores on test data. In one case, we will take last 5 examples of test data for engine, calculate their predictions, and finally average those for each engine. In the second case, we will take only the last example of each engine and make predictions. The logic behind taking last 5 examples and averaging their predictions is to make the prediction robust against outliers. Due to some external factor, if our last example happens to be corrupted, its prediction outcome might be far off from the actual one. But if we average predictions from last 5 examples, we will get a more conservative estimate. \n",
    "\n",
    "In the following cell we will show boxplots of each column of training data. That will give us an idea about the values in different columns. If all the values in a column are constant, we drop those columns from our analysis.\n",
    "\n",
    "Readers can download the data from [here](https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/#turbofan). In the following cells, wherever data are read from a folder, readers should change the string to point to the respective folder from their system to run this notebook seamlessly. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x1512 with 21 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/train_FD001.txt\", sep= \"\\s+\", header = None)\n",
    "plt.figure(figsize = (16, 21))\n",
    "for i in range(21):\n",
    "    temp_data = train_data.iloc[:,i+5]\n",
    "    plt.subplot(7,3,i+1)\n",
    "    plt.boxplot(temp_data)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_targets(data_length, early_rul = None):\n",
    "    \"\"\" \n",
    "    Takes datalength and earlyrul as input and \n",
    "    creates target rul.\n",
    "    \"\"\"\n",
    "    if early_rul == None:\n",
    "        return np.arange(data_length-1, -1, -1)\n",
    "    else:\n",
    "        early_rul_duration = data_length - early_rul\n",
    "        if early_rul_duration <= 0:\n",
    "            return np.arange(data_length-1, -1, -1)\n",
    "        else:\n",
    "            return np.append(early_rul*np.ones(shape = (early_rul_duration,)), np.arange(early_rul-1, -1, -1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_input_data_with_targets(input_data, target_data = None, window_length = 1, shift = 1):\n",
    "    \"\"\"Depending on values of window_length and shift, this function generates batchs of data and targets \n",
    "    from input_data and target_data.\n",
    "    \n",
    "    Number of batches = np.floor((len(input_data) - window_length)/shift) + 1\n",
    "    \n",
    "    **We don't check input dimensions uisng exception handling. So readers should be careful while using these\n",
    "    functions. If input data are not of desired dimension, either error occurs or something undesirable is \n",
    "    produced as output.**\n",
    "    \n",
    "    Arguments:\n",
    "        input_data: input data to function (Must be 2 dimensional)\n",
    "        target_data: input rul values (Must be 1D array)s\n",
    "        window_length: window length of data\n",
    "        shift: Distance by which the window moves for next batch. This is closely related to overlap\n",
    "               between data. For example, if window length is 30 and shift is 1, there is an overlap of \n",
    "               29 data points between two consecutive batches.\n",
    "        \n",
    "    \"\"\"\n",
    "    num_batches = np.int(np.floor((len(input_data) - window_length)/shift)) + 1\n",
    "    num_features = input_data.shape[1]\n",
    "    output_data = np.repeat(np.nan, repeats = num_batches * window_length * num_features).reshape(num_batches, window_length,\n",
    "                                                                                                  num_features)\n",
    "    if target_data is None:\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "        return output_data\n",
    "    else:\n",
    "        output_targets = np.repeat(np.nan, repeats = num_batches)\n",
    "        for batch in range(num_batches):\n",
    "            output_data[batch,:,:] = input_data[(0+shift*batch):(0+shift*batch+window_length),:]\n",
    "            output_targets[batch] = target_data[(shift*batch + (window_length-1))]\n",
    "        return output_data, output_targets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_test_data(test_data_for_an_engine, window_length, shift, num_test_windows = 1):\n",
    "    \"\"\" This function takes test data for an engine as first input. The next two inputs\n",
    "    window_length and shift are same as other functins. \n",
    "    \n",
    "    Finally it takes num_test_windows as the last input. num_test_windows sets how many examplles we\n",
    "    want from test data (from last). By default it extracts only the last example.\n",
    "    \n",
    "    The function return last examples and number of last examples (a scaler) as output. \n",
    "    We need the second output later. If we are extracting more than 1 last examples, we have to \n",
    "    average their prediction results. The second scaler halps us do just that.\n",
    "    \"\"\"\n",
    "    max_num_test_batches = np.int(np.floor((len(test_data_for_an_engine) - window_length)/shift)) + 1\n",
    "    if max_num_test_batches < num_test_windows:\n",
    "        required_len = (max_num_test_batches -1)* shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, max_num_test_batches\n",
    "    else:\n",
    "        required_len = (num_test_windows - 1) * shift + window_length\n",
    "        batched_test_data_for_an_engine = process_input_data_with_targets(test_data_for_an_engine[-required_len:, :],\n",
    "                                                                          target_data = None,\n",
    "                                                                          window_length = window_length, shift = shift)\n",
    "        return batched_test_data_for_an_engine, num_test_windows"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed trianing data shape:  (20631, 1, 14)\n",
      "Processed training ruls shape:  (20631,)\n",
      "Processed test data shape:  (500, 1, 14)\n",
      "True RUL shape:  (100,)\n"
     ]
    }
   ],
   "source": [
    "test_data = pd.read_csv(\"/home/biswajit/data/cmapss_data/test_FD001.txt\", sep = \"\\s+\", header = None)\n",
    "true_rul = pd.read_csv('/home/biswajit/data/cmapss_data/RUL_FD001.txt', sep = '\\s+', header = None)\n",
    "\n",
    "window_length = 1\n",
    "shift = 1\n",
    "early_rul = None            \n",
    "processed_train_data = []\n",
    "processed_train_targets = []\n",
    "\n",
    "# How many test windows to take for each engine. If set to 1 (this is the default), only last window of test data for \n",
    "# each engine are taken. If set to a different number, that many windows from last are taken. \n",
    "# Final output is the average of output of all windows.\n",
    "num_test_windows = 5     \n",
    "processed_test_data = []\n",
    "num_test_windows_list = []\n",
    "\n",
    "columns_to_be_dropped = [0,1,2,3,4,5,9,10,14,20,22,23]\n",
    "\n",
    "num_machines = np.min([len(train_data[0].unique()), len(test_data[0].unique())])\n",
    "\n",
    "for i in np.arange(1, num_machines + 1):\n",
    "    \n",
    "    temp_train_data = train_data[train_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    temp_test_data = test_data[test_data[0] == i].drop(columns=columns_to_be_dropped).values\n",
    "    \n",
    "    # Verify if data of given window length can be extracted from both training and test data\n",
    "    if (len(temp_test_data) < window_length):\n",
    "        print(\"Test engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    elif (len(temp_train_data) < window_length):\n",
    "        print(\"Train engine {} doesn't have enough data for window_length of {}\".format(i, window_length))\n",
    "        raise AssertionError(\"Window length is larger than number of data points for some engines. \"\n",
    "                             \"Try decreasing window length.\")\n",
    "    \n",
    "    temp_train_targets = process_targets(data_length = temp_train_data.shape[0], early_rul = early_rul)\n",
    "    data_for_a_machine, targets_for_a_machine = process_input_data_with_targets(temp_train_data, temp_train_targets, \n",
    "                                                                                window_length = window_length, shift = shift)\n",
    "    \n",
    "    # Prepare test data\n",
    "    test_data_for_an_engine, num_windows = process_test_data(temp_test_data, window_length = window_length, shift = shift,\n",
    "                                                             num_test_windows = num_test_windows)\n",
    "    \n",
    "    processed_train_data.append(data_for_a_machine)\n",
    "    processed_train_targets.append(targets_for_a_machine)\n",
    "    \n",
    "    processed_test_data.append(test_data_for_an_engine)\n",
    "    num_test_windows_list.append(num_windows)\n",
    "\n",
    "processed_train_data = np.concatenate(processed_train_data)\n",
    "processed_train_targets = np.concatenate(processed_train_targets)\n",
    "processed_test_data = np.concatenate(processed_test_data)\n",
    "true_rul = true_rul[0].values\n",
    "\n",
    "# Shuffle data\n",
    "index = np.random.permutation(len(processed_train_targets))\n",
    "processed_train_data, processed_train_targets = processed_train_data[index], processed_train_targets[index]\n",
    "\n",
    "print(\"Processed trianing data shape: \", processed_train_data.shape)\n",
    "print(\"Processed training ruls shape: \", processed_train_targets.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "print(\"True RUL shape: \", true_rul.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed train data shape:  (20631, 14)\n",
      "Processed test data shape:  (500, 14)\n"
     ]
    }
   ],
   "source": [
    "processed_train_data = processed_train_data.reshape(-1, processed_train_data.shape[2])\n",
    "processed_test_data = processed_test_data.reshape(-1, processed_test_data.shape[2])\n",
    "print(\"Processed train data shape: \", processed_train_data.shape)\n",
    "print(\"Processed test data shape: \", processed_test_data.shape)\n",
    "\n",
    "dtrain = xgb.DMatrix(processed_train_data, label = processed_train_targets)\n",
    "dtest = xgb.DMatrix(processed_test_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\tTrain-rmse:47.16997\n",
      "[50]\tTrain-rmse:39.56228\n",
      "[100]\tTrain-rmse:37.42575\n",
      "[150]\tTrain-rmse:35.63974\n",
      "[200]\tTrain-rmse:34.10238\n",
      "[250]\tTrain-rmse:32.74241\n",
      "[299]\tTrain-rmse:31.52504\n"
     ]
    }
   ],
   "source": [
    "num_rounds = 300\n",
    "params = {\"max_depth\":3, \"learning_rate\":1, \"objective\":\"reg:squarederror\"}\n",
    "bst = xgb.train(params, dtrain, num_boost_round = num_rounds, evals = [(dtrain, \"Train\")], verbose_eval = 50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE:  34.70021387237443\n"
     ]
    }
   ],
   "source": [
    "rul_pred = bst.predict(dtest)\n",
    "\n",
    "# First split predictions according to number of windows of each engine\n",
    "preds_for_each_engine = np.split(rul_pred, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                             for ruls_for_each_engine, num_windows in zip(preds_for_each_engine, num_test_windows_list)]\n",
    "RMSE = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine))\n",
    "print(\"RMSE: \", RMSE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With somewhat arbitrary choice of hyperparameters, we obtained an RMSE value of 34.70. But can we do better? To find out better values of hyperparameters, we can do a principled hyperparameter tuning. There are different ways to do hyperparameter search. Here, we will use simple grid search. \n",
    "\n",
    "In grid search, we first define a grid of parameters. Then for each set of parameters, we will fit a 10 xgboost models (as it is 10 fold cross validation). Finally we will average the result of all folds for a particular parameter choice. The parameter choice that gives best score for cross validation is chosen as the best hyperparameter.\n",
    "\n",
    "Grid search of hyperparameters (with cross validation) is computationally intensive. It might take a long time on a personal computer. If that is the case, readers are advised to comment the next cell and directly use the best hyperparameter values as done in subsequent cells."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max_depth: 2, eta: 0.001\n",
      "RMSE: 100.1344627 in 300 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.01\n",
      "RMSE: 43.6376311 in 300 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.1\n",
      "RMSE: 41.6120787 in 207 rounds\n",
      "\n",
      "max_depth: 2, eta: 0.3\n",
      "RMSE: 41.7348854 in 130 rounds\n",
      "\n",
      "max_depth: 2, eta: 1.0\n",
      "RMSE: 42.5729324 in 49 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.001\n",
      "RMSE: 99.519329 in 300 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.01\n",
      "RMSE: 42.5025874 in 300 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.1\n",
      "RMSE: 41.4849251 in 160 rounds\n",
      "\n",
      "max_depth: 3, eta: 0.3\n",
      "RMSE: 41.77674799999999 in 45 rounds\n",
      "\n",
      "max_depth: 3, eta: 1.0\n",
      "RMSE: 43.1720916 in 22 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.001\n",
      "RMSE: 99.20996850000002 in 300 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.01\n",
      "RMSE: 42.0599408 in 300 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.1\n",
      "RMSE: 41.375259199999995 in 71 rounds\n",
      "\n",
      "max_depth: 4, eta: 0.3\n",
      "RMSE: 41.6271682 in 22 rounds\n",
      "\n",
      "max_depth: 4, eta: 1.0\n",
      "RMSE: 43.345209499999996 in 8 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.001\n",
      "RMSE: 99.022023 in 300 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.01\n",
      "RMSE: 41.8074732 in 300 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.1\n",
      "RMSE: 41.3496174 in 49 rounds\n",
      "\n",
      "max_depth: 5, eta: 0.3\n",
      "RMSE: 41.664984100000005 in 18 rounds\n",
      "\n",
      "max_depth: 5, eta: 1.0\n",
      "RMSE: 43.7238945 in 4 rounds\n",
      "\n",
      "Best parameters are: Max_depth= 5, eta= 0.1, num_rounds = 49. Corresponding RMSE: 41.3496174\n"
     ]
    }
   ],
   "source": [
    "param_grid = [(max_depth, eta) for max_depth in np.arange(2,6) for eta in np.array([0.001, 0.01, 0.1, 0.3, 1])]\n",
    "\n",
    "min_rmse = np.inf\n",
    "best_params = None\n",
    "params = dict()\n",
    "params[\"objective\"] = \"reg:squarederror\"\n",
    "for max_depth, eta in param_grid:\n",
    "    print(\"max_depth: {}, eta: {}\".format(max_depth, eta))\n",
    "    \n",
    "    params[\"max_depth\"] = max_depth\n",
    "    params[\"eta\"] = eta\n",
    "    \n",
    "    cv_res = xgb.cv(params, dtrain, num_boost_round= num_rounds, early_stopping_rounds= 10, nfold = 10, seed = 789)\n",
    "    \n",
    "    best_rmse_val = cv_res[\"test-rmse-mean\"].min()\n",
    "    best_num_rounds = cv_res[\"test-rmse-mean\"].argmin() + 1\n",
    "    \n",
    "    print(\"RMSE: {} in {} rounds\".format(best_rmse_val, best_num_rounds))\n",
    "    print()\n",
    "    \n",
    "    if best_rmse_val < min_rmse:\n",
    "        min_rmse = best_rmse_val\n",
    "        best_params = (max_depth, eta, best_num_rounds)\n",
    "        \n",
    "print(\"Best parameters are: Max_depth= {}, eta= {}, num_rounds = {}. Corresponding RMSE: {}\".format(best_params[0],\n",
    "                                                                                                    best_params[1],\n",
    "                                                                                                    best_params[2],\n",
    "                                                                                                    min_rmse))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will use the best parameters to train the final regressor. The `num_boost_round` value obtained above is the best value for cross validation. We can take a value that is different from the above number but not very far from it. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE after hyperparameter tuning:  33.24843386316682\n"
     ]
    }
   ],
   "source": [
    "params_tuned = {\"max_depth\":5, \"eta\":0.1, \"objective\":\"reg:squarederror\"}\n",
    "bst_tuned = xgb.train(params_tuned, dtrain, num_boost_round= 100)\n",
    "\n",
    "rul_pred_tuned = bst_tuned.predict(dtest)\n",
    "\n",
    "preds_for_each_engine_tuned = np.split(rul_pred_tuned, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine_tuned = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                                   for ruls_for_each_engine, num_windows in zip(preds_for_each_engine_tuned,\n",
    "                                                                                num_test_windows_list)]\n",
    "RMSE_tuned = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine_tuned))\n",
    "print(\"RMSE after hyperparameter tuning: \", RMSE_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Downside of having access to full test set\n",
    "\n",
    "If we have access to full test set, to improve our score on test set, we can tune our algorithm so that it performs well on test set. **However, it should be noted that this is not the right way to train an algorithm.** Test set should be used only once (after model fine tuning) to predict our algorithm's generalization performance. **Test set should never be used to tune hyperparameters of our model.** If we tune our algorithm using test set, it might predict well on that set but there is no guarantee that it will generalize well for yet unseen data. \n",
    "\n",
    "To demonstrate the effect, in the cell below we have used some hyperparameters that gives considerably better results than that obtained by cross validation. How did I find those hyperparameters? As the full test set was available, I tried a few parameters using full test set and chose one that gave relatively better result. **I repeat this is just a hack (a poor one) to improve performance using test set.**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE after hyperparameter tuning:  19.116382204482573\n"
     ]
    }
   ],
   "source": [
    "params_tuned = {\"max_depth\":5, \"eta\":0.01, \"objective\":\"reg:squarederror\"}\n",
    "bst_tuned = xgb.train(params_tuned, dtrain, num_boost_round= 150)\n",
    "\n",
    "rul_pred_tuned = bst_tuned.predict(dtest)\n",
    "\n",
    "preds_for_each_engine_tuned = np.split(rul_pred_tuned, np.cumsum(num_test_windows_list)[:-1])\n",
    "mean_pred_for_each_engine_tuned = [np.average(ruls_for_each_engine, weights = np.repeat(1/num_windows, num_windows)) \n",
    "                                   for ruls_for_each_engine, num_windows in zip(preds_for_each_engine_tuned,\n",
    "                                                                                num_test_windows_list)]\n",
    "RMSE_tuned = np.sqrt(mean_squared_error(true_rul, mean_pred_for_each_engine_tuned))\n",
    "print(\"RMSE after hyperparameter tuning: \", RMSE_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that while prediction, we are predicting RUL values for last 5 examples of every engine. Then we take mean of all 5 predictions for each engine and calculate final RMSE.\n",
    "\n",
    "If instead we wish to take only the last example of every engine to make predictions and calculate RUL, we can do so by taking the last prediction of every engine as calculated before and calculate RMSE as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([  4,   9,  14,  19,  24,  29,  34,  39,  44,  49,  54,  59,  64,\n",
       "        69,  74,  79,  84,  89,  94,  99, 104, 109, 114, 119, 124, 129,\n",
       "       134, 139, 144, 149, 154, 159, 164, 169, 174, 179, 184, 189, 194,\n",
       "       199, 204, 209, 214, 219, 224, 229, 234, 239, 244, 249, 254, 259,\n",
       "       264, 269, 274, 279, 284, 289, 294, 299, 304, 309, 314, 319, 324,\n",
       "       329, 334, 339, 344, 349, 354, 359, 364, 369, 374, 379, 384, 389,\n",
       "       394, 399, 404, 409, 414, 419, 424, 429, 434, 439, 444, 449, 454,\n",
       "       459, 464, 469, 474, 479, 484, 489, 494, 499])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "indices_of_last_examples = np.cumsum(num_test_windows_list) - 1\n",
    "indices_of_last_examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RMSE (Taking only last examples):  19.61106482601953\n"
     ]
    }
   ],
   "source": [
    "preds_for_last_example = np.concatenate(preds_for_each_engine_tuned)[indices_of_last_examples]\n",
    "\n",
    "RMSE_new = np.sqrt(mean_squared_error(true_rul, preds_for_last_example))\n",
    "print(\"RMSE (Taking only last examples): \", RMSE_new)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you are not convinced by above calculations, take a look at the last section of [this notebook](https://github.com/biswajitsahoo1111/rul_codes_open/blob/master/notebooks/cmapss_notebooks/CMAPSS_FD001_xgboost_piecewise_linear_degradation_model.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For CMAPSS data, along with RMSE another metric (S-score) is usually reported in literature. S-score is defined as:\n",
    "\n",
    "$$S= \\sum_{i=1}^N{s_i}$$\n",
    "\n",
    "where, \n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "    s_i=\n",
    "    \\begin{cases}\n",
    "      (e^{-\\frac{d_i}{13}})-1, & \\text{for}\\ d_i < 1 \\\\\n",
    "      (e^{\\frac{d_i}{10}})-1, & \\text{for}\\ d_i \\geq 1\\\\\n",
    "    \\end{cases}\n",
    "  \\end{equation}\n",
    "  $$\n",
    "  \n",
    "We can compute the S-metric as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_s_score(rul_true, rul_pred):\n",
    "    \"\"\"\n",
    "    Both rul_true and rul_pred should be 1D numpy arrays.\n",
    "    \"\"\"\n",
    "    diff = rul_pred - rul_true\n",
    "    return np.sum(np.where(diff < 0, np.exp(-diff/13)-1, np.exp(diff/10)-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "S-score:  784.0541616890158\n"
     ]
    }
   ],
   "source": [
    "s_score = compute_s_score(true_rul, preds_for_last_example)\n",
    "print(\"S-score: \", s_score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot true and predicted RUL values\n",
    "plt.plot(true_rul, label = \"True RUL\", color = \"red\")\n",
    "plt.plot(preds_for_last_example, label = \"Pred RUL\", color = \"blue\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also plot variable importance score."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'Feature importance'}, xlabel='F score', ylabel='Features'>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "xgb.plot_importance(bst_tuned)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As a final note remember that hyperparameter tuning is more of an art than science. It is possible to obtain better results than what has been obtained here by choosing better set of hyperparameters.\n",
    "\n",
    "For other reproducible results on RUL, interested readers can visit my [project page](https://biswajitsahoo1111.github.io/rul_codes_open). "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tf_cpu_23",
   "language": "python",
   "name": "tf_cpu_23"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
